<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <h1>商品列表页面</h1>
    <table border="1">
        <tr>
            <th>id</th><th>商品标题</th><th>商品价格</th><th>商品库存</th><th>操作</th>
        </tr>
        <tr v-for="p in arr"><!--重复生成商品这一行,生产多少取决于数组里有多少个-->
           <td>{{p.td}}</td><td>{{p.title}}</td><td>{{p.price}}</td><td>{{p.num}}</td>
            <td><!--加冒号进行属性绑定,内容不能写死-->
                <a :href="'/update.html?id='+p.id">修改</a>
                <a href="javascript:void(0)" @click="del(p.id)">删除</a>
            </td>
        </tr>
    </table>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
   let v = new Vue({
        el: "body>div",
        data:{
            arr:[{id:1,title:"苹果",price:5,num:100},
                {id:2,title:"香蕉",price:6,num:200},
                {id:3,title:"橘子",price:7,num:300}]
        },
       methods:{
            del(id){
                if(confirm("您确认删除此商品吗?")){
                    //异步删除请求
                    axios.get("/delete?id="+id).then(function (response){
                        //刷新页面
                        location.reload();
                    })
                }

            }

       },
       created:function (){
            //cereted方法是Vue对象中内置的方法,当Vue对象初始化时会调用次方法
            //通常情况下把进入页面后立即发出请求的代码写在此处
            console.log("代码执行了");
            //发出异步请求获取数据
            axios.get("/select").then(function (response){
               //这里得到的服务器响应的数据是一个数组里面装着多个商品对象
               v.arr = response.data;/*Axios框架JSON格式字符串数据转换为数组*/

           })

       }
    })
</script>

</body>
</html>